<?php


/*
 * SDOApi 使用得到的一些帮助函数
 * @author Wolfhead <meixueting@snda.com>
 */

class SDOApiHelper
{
    const PREFIX_SDO_SIG = "sdo_sig_";
    
    /*
     * 获取已被验证的系统参数
     * @param String $paramName 参数名
     * @param Array & $paramArray 参数数组
     * return Mixed
     */
    static function getSDOParam($paramName, &$paramArray)
    {
        if (!isset($paramArray[self::PREFIX_SDO_SIG . $paramName]))
        {
            return NULL;
        }
        return $paramArray[self::PREFIX_SDO_SIG . $paramName];
    }


 	/**
	 * 得到存在允许键名的数组
	 * @param Array		$allowKeys	            	允许的键名参数 如 array('nickname','avatorver','memebertype')
	 * @param Array		$paramArray	            	用户传的键内容 如 array('nickname' => 'ggg','state1'=>1,'memebertype'=>4);
	 * @return Array  返回存在允许键名的数组 如 array ( 'nickname' => 'ggg', 'memebertype' => 4,)
	 */
	static function getAllowArray($allowKeys,$paramArray) {
	
		//得到附加参数的 key
		$paramArray_keys	= array_keys($paramArray);

		//计算交集
		$result_params = array_intersect($allowKeys, $paramArray_keys);
		
		//形成最终参数
		$api_param	= array();
		if(!empty($result_params))
		foreach($result_params as $param_name)
		{
			$api_param[$param_name]	= $paramArray[$param_name];

		}
		return $api_param;
	}
}